#include <cstdio>
#include <JetsonGPIO.h>
using namespace GPIO;

void motor_forward();
void motor_stop();
void motor_backward();
void motor_start();
void motor_stopB();
void _Init_GPIO();

int main(){
_Init_GPIO();
while(1){
    int a;
    scanf("%d",&a);
    if(a==1) motor_forward();
    if(a==0) motor_stop();
    if(a==-1) motor_backward();
    if(a==2) motor_start();
    if(a==3) motor_stopB();
}  

}

void _Init_GPIO(){
    GPIO::setmode(GPIO::BCM);
    GPIO::setup(21, GPIO::OUT, GPIO::LOW);
    GPIO::setup(20, GPIO::OUT, GPIO::LOW);
    GPIO::setup(26, GPIO::OUT, GPIO::LOW);
    return ;
}

void motor_forward(){
    motor_stop();
    GPIO::output(20, GPIO::HIGH);
}

void motor_stop(){
    GPIO::output(21, GPIO::LOW);
    GPIO::output(20, GPIO::LOW);
}

void motor_backward(){
    motor_stop();
    GPIO::output(21, GPIO::HIGH);
}

void motor_start(){
    motor_stopB();
    GPIO::output(26, GPIO::HIGH);
}

void motor_stopB(){
    GPIO::output(26, GPIO::LOW);
}